import {collect, getGoodsInfo} from "../../service/goods";
import {addCart, getCartsList} from "../../service/cart";
import checkLogin from "../../utils/checkLogin";

// pages/goodsinfo/goodsinfo.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    goodsId:'',
    goodsInfo:{},
    likeGoods:[],
    comments:[],
    isCollect:0,
    cartsList:[],
    goodsInfoDetails:''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //检查是否登录
    // checkLogin()
    //设置当前商品的id
    this.setData({
      goodsId: options.id
    })
    //请求商品详情
    getGoodsInfo(options.id).then(res=>{
      // console.log(res)
      this.setData({
        goodsInfo:res.goods,
        likeGoods:res.like_goods,
        comments: res.goods.comments,
        isCollect: res.goods.is_collect,
        goodsInfoDetails: res.goods.details.replace(/<img/gi,`<img style="max-width:100% !important;height:auto !important;"`)  //这里用max-width设置最大宽度，如果用width的话图片自带的宽度也会放大
      })
      //动态设置头部导航标题的名字
      wx.setNavigationBarTitle({
        title: res.goods.title
      })
    })

    //只有登录情况下，才请求购物车数据
    const checkLogin = wx.getStorageSync("access_token")
    if(checkLogin)  this.getCarts()
  },

  /**
   * 收藏或取消收藏
   */
  onCollect(){
    //1.区分类型
    const {isCollect,goodsId} = this.data

    //2.请求API
    collect(goodsId).then(()=>{
      //修改数据
      this.setData({
        isCollect: isCollect ? 0 : 1
      })
      //3.弹窗提示
      wx.showToast({
        title:isCollect ? '已取消收藏' : '收藏成功',
        icon:'success'
      })
    })
  },
  /**
   * 加入购物车
   */
  onAddCart(){
    //1.处理提交的数据
    const  data = {
      goods_id:this.data.goodsId
    }
    //2.请求api，添加到购物车
    addCart(data).then(()=>{
      //3.弹窗提醒
      wx.showToast({
        title:'加入成功',
        icon:'success'
      })
      //延迟请求，不然会覆盖成功的提醒
      setTimeout(()=>{
        //请求购物车的数据
        this.getCarts()
      },1000)
    })
  },
  /**
   * 获取购物车列表
   */
  getCarts(){
    //发送请求,获取列表
    getCartsList().then(res=>{
      //筛选当前商品在购物车中的已添加数量
      //const cart = res.data.find(item=>item.goods_id == this.data.goodsId)
      //console.log(cart.num)

      this.setData({
        cartsList: res.data
      })
    })
  }
})